Technical Field
This disclosure relates generally to data processing systems in a data center operating environment.
Background of the Related Art
A well-known information technology (IT) delivery model is cloud computing, by which shared resources, software and information are provided over the Internet to computers and other devices on-demand. Cloud computing significantly reduces IT costs and complexities while improving workload optimization and service delivery. With this approach, an application instance is hosted and made available from Internet-based resources that are accessible, e.g., through a conventional Web browser over HTTP. Cloud compute resources typically are housed in large server farms that run one or more network applications, typically using a virtualized architecture wherein applications run inside virtual servers, or so-called “virtual machines” (VMs), that are mapped onto physical servers in a data center facility.
Within the data center itself, a data center network typically is architected according to a hierarchical design comprising several layers of electrical switches, namely, access, aggregate and core layers. At a front end of the data center, content and load balancing switches are connected to the Internet through gateway routers, while at the back end, they are linked to core switches. Typically, the core switches are linked to aggregate switches, and the aggregate switches are connected to rack switches. Each rack switch is connected to the servers in the rack. The switches in the data center network operate usually over an electronic switch fabric, and the links between them either are copper cables or optical fibers. When a request comes from the external network, it first comes to the load balancing and content switches, which route the request to the appropriate servers. To fulfil the request, the servers can coordinate with other servers within the same or different racks. For example, the application servers can coordinate with the database servers to process the request. After completing the request, the response is sent to the external network through the gateway routers.
Conventional data center architectures such as described face many challenges including, without limitation, scalability, fault tolerance and energy efficiency. Due to these challenges, many data center architectures are hard-pressed to handle the growing demand of cloud computing. Moreover, because servers (and, in particular, their memory) are managed independently, these architectures have significant inefficiencies with respect to memory management, duplication of data, and inefficient memory allocations.
It is known in the prior to provide for a “memory pool” that can be accessed and used by other processing resources in the data center to act as an extended memory. These approaches are designed to facilitate copy schemes. Such schemes copy or page chunks of memory from the extended memory to a smaller memory directly placed and attached to processors on a processing blade. This direct and fixed memory, however, prevents the switching as a whole the memory content of different instances, as it creates a performance problem because delays associated with a paging mechanism can interfere with some codes.
It would be desirable to implement and manage a memory pool to address the inefficiencies associated with these and other prior art approaches.